#include <stdio.h>
#include <stdlib.h>

void transpose(int **, int);
void prntMat(int **, int);

int main(void)
{
    int n, i, j;

    scanf("%d", &n);

    int **pMat = (int**)malloc(sizeof(int*) * n);
    for (i = 0; i < n; i ++)
        pMat[i] = (int*)malloc(sizeof(int) * n);

    for (i = 0; i < n; i ++)
    {
        for (j = 0; j < n; j ++)
        {
            scanf("%d", &pMat[i][j]);
        }
    }

    transpose(pMat, n);
    prntMat(pMat, n);

    for (i = 0; i < n; i ++)
        free(pMat[i]);
    free(pMat);
    pMat = NULL;
    
    return 0;
}

void transpose(int **pMat, int n)
{
    int **q = pMat;

    int i, j;
    int temp;

    for (i = 0; i < n; i ++)
    {
        for (j = 0; j < i; j ++)
        {
            temp = pMat[i][j];
            pMat[i][j] = pMat[j][i];
            pMat[j][i] = temp;
        }
    }
}

void prntMat(int **pMat, int n)
{
    int **q = pMat;

    int i, j;

    for (i = 0; i < n; i ++)
    {
        for (j = 0; j < n; j ++)
        {
            if (j < n -1 )
                printf("%d ", pMat[i][j]);
            else
                printf("%d\n", pMat[i][j]);
        }
    }
            
}

